<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class PartController extends Controller
{
	//添加分区页面
    public function getAdd()
    {
        //解析模板
        return view('admin.part.add');
    }
    //添加分区
    public function postInsert(Request $request)
    {
        // dd($request->all());
        //添加操作
        $this->Validate($request, [
            'partname' => 'required|max:20',
        ],[
            'partname.required'=>'分区名不能为空',
            'partname.max'=>'分区名不能超过20个字符'
        ]);
        $arr = $request->only(['partname','status']);
        $res = DB::table('part')->insert($arr);
        //判断添加是否成功
        if($res){
            return redirect('/admin/part/index')->with('success','分区名添加成功');
        }else{
            return back()->with('error','分区名添加失败');
        }
    }
    //分区列表
    public function getIndex(Request $request)
    {
        //获取 搜索
        $num = $request->input('num',10);
        if($request->input('keywords')){
            $parts = DB::table('part')->where('partname','like','%'.$request->input('keywords').'%')->paginate($num);   
        }else{
            $parts = DB::table('part')->paginate($num);
        }
        $data = $request->all();
        // dd($parts);
        //解析模板
        return view('admin.part.index',['parts'=>$parts,'request'=>$data]);
    }
    //修改
    public function getEdit($id)
    {
        //查询分区信息
        $part = DB::table('part')->where('id',$id)->first();
        // dd($part);
        //查询分区下是否有版块,如果有不能修改
        $section = DB::table('section')->where('pid',$id)->first();
        if($section){
            //该分区下有版块,不能修改
            return back()->with('error','该分区下有版块不能修改,请选择其他分区');
        }else{
            //解析模板
            return view('admin.part.edit',['part'=> $part]);
        }
    }

    //执行修改
    public function postUpdate(Request $request)
    {
        // dd($request->all());
        //添加操作
        $this->Validate($request, [
            'partname' => 'required|max:20',
        ],[
            'partname.required'=>'分区名不能为空',
            'partname.max'=>'分区名不能超过20个字符'
        ]);
        $id = $request->only('id');
        $arr = $request->only(['partname','status']);
        $res = DB::table('part')->where('id',$id)->update($arr);
        //判断修改是否成功
        if($res){
            return redirect('/admin/part/index')->with('success','分区修改成功');
        }else{
            return back()->with('error','分区修改失败');
        }
    }

    //删除
    public function postDelete(Request $request)
    {
        $id = $request->only('id');
        //查询分区下是否有版块,如果有不能删除
        $section = DB::table('section')->where('pid',$id)->first();
        if($section){
            //该分区下有版块,不能删除
            echo 3;
        }else{
            //删除
            $res = DB::table('part')->where('id',$id)->delete();
            if($res){
                //删除成功
                echo 1;
            }else{
                //删除失败
                echo 2;
            }
        }
    }
}
